As the number of computer systems accessing the internet continues to increase, the number of different types of computer systems also continues to grow. As a result, one issue that typically arises is ensuring interoperability between different types of computer systems distributed over a computer network. Interoperability allows communication between independently developed and configured computer systems. Generally, such interoperability is achieved by using a set of agreed-upon communications protocols. Using such protocols, a client of one computer system can typically invoke operations in a different computer system. Consequently, the interoperability permits client systems to invoke processes in server systems independent of their respective locations.
Despite the ability to service requests from multiple client systems, server systems generally still have problems automatically handling service requests from such client systems. In particular, if a server system is associated with two or more resources that provide identical or overlapping services, the server system may not automatically assign the service request to the best resource for managing the service request. As a result, some resources may be idled while other resources are overloaded with service requests they are not optimized to handle, decreasing overall performance. Furthermore, it is generally difficult for an operator of the client system or the server system to determine an issue exists.
Therefore, what is needed is a system and method for improving processing of service requests in a distributed environment having resources providing identical or overlapping services.